<!DOCTYPE html>
<html lang="en">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Porting to GCC 13</title>
<link rel="stylesheet" type="text/css" href="https://gcc.gnu.org/gcc.css" />
</head>

<body>
<h1>Porting to GCC 13</h1>

<p>
The GCC 13 release series differs from previous GCC releases in
<a href="changes.html">a number of ways</a>. Some of these are a result
of bug fixing, and some old behaviors have been intentionally changed
to support new standards, or relaxed in standards-conforming ways to
facilitate compilation or run-time performance.
</p>

<p>
Some of these changes are user visible and can cause grief when
porting to GCC 13. This document is an effort to identify common issues
and provide solutions. Let us know if you have suggestions for improvements!
</p>

<h2 id="cxx">C++ language issues</h2>

<h3 id="header-dep-changes">Header dependency changes</h3>
<p>Some C++ Standard Library headers have been changed to no longer include
other headers that were being used internally by the library.
As such, C++ programs that used standard library components without
including the right headers will no longer compile.
</p>
<p>
The following headers are used less widely in libstdc++ and may need to
be included explicitly when compiled with GCC 13:
</p>
<ul>
<li> <code>&lt;cstdint&gt;</code>
  (for <code>std::int8_t</code>, <code>std::int32_t</code> etc.)
</li>
</ul>

</body>
</html>
